<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>

        //  1-n的求和   1+2+3+4+5+。。n    有参数，有返回值

        function sum(n) {
            var res = 0;
            for (var i = 1; i <= n; i++) {
                res += i;
            }
            return res;
        }

        document.write(sum(100) + '<br>');


        //  n的阶乘
        function jc(n) {
            var res = 1;
            for (var i = 1; i <= n; i++) {
                res *= i;
            }
            return res;
        }

        document.write(jc(10) + '<br>');

        //  封装函数：计算：当传入n为偶数时，调用函数求1/2 + 1/4 + ... + 1/n ；当传入n为奇数时，调用函数求1 + 1/3 + ... + 1/n 

        // function js(n) {
        //     if (n % 2 === 0) {
        //         var res = 0;
        //         for (var i = 2; i <= n; i += 2) {
        //             res += 1 / i;
        //         }
        //         return res;
        //     } else {
        //         var res = 0;
        //         for (var i = 1; i <= n; i += 2) {
        //             res += 1 / i;
        //         }
        //         return res;
        //     }
        // }

        // 优化
        function js(n) {
            var res = 0;
            for (var i = n % 2 ? 1 : 2; i <= n; i += 2) {
                res += 1 / i;
            }
            return res;
        }



    </script>

</body>

</html>